package act.droidcar;

import android.app.Activity;
import android.content.Intent;
import android.graphics.Color;
import android.os.Bundle;
import android.view.View;
import android.widget.AdapterView;
import android.widget.AdapterView.OnItemClickListener;
import android.widget.ListView;

import com.droidcar.AdapterListView;
import com.droidcar.ClientPesquisar;
import com.droidcar.ListaVeiculosBD;
import com.droidcar.VeiculosBD;

/**
 * Activity composta de uma ListView.
 * O ListView e definido com o Adapter AdapterListView que possui uma lista de objetos da classe VeiculosBD
 * A finalidade dessa Activity e para a visualização de veiculos armazenados na lista de favoritos ou retornados da pesquisa de veiculos.
 */
public class ListarVeiculos extends Activity implements OnItemClickListener {

	 
    private ListView listView;
    private AdapterListView adapterListView;
    private Intent Veiculo;
    /**
     * Atributo Tipo é recebido por parâmetros para manipulação dos eventos da tela,
     * tento seus valores 1 para retorno da lista de favoritos e 
     * 2 para retorno de uma lista de pesquisa.     
     */    
    private int Tipo = 0;

    /**
     * Atributo Retorna é recebido por parâmetros para manipulação dos eventos da tela,
     * tento seus valores 1 para que a activity faça o retorno de um veículo ao clicar em um item da lista e 
     * 2 para abrir a tela de visualização de veículos.   
     */
     
    private int Retorna = 0;// 1 - Sim, 2 - Não;

    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.lista_veiculos);
        
        ListaVeiculosBD lista = (ListaVeiculosBD) getIntent().getSerializableExtra("ListaVeiculos");
        Tipo				  = getIntent().getIntExtra("Tipo", 1);
        Retorna				  = getIntent().getIntExtra("Retorna", 2);
 
        listView = (ListView) findViewById(R.id.tela_consulta_listView);
        listView.setOnItemClickListener(this);
 
        createListView(lista);
    }
    
    private void createListView(ListaVeiculosBD lista) {
        adapterListView = new AdapterListView(this, lista.GetListaVeiculos());        
 
        listView.setAdapter(adapterListView);
        listView.setCacheColorHint(Color.TRANSPARENT);
    }
 
	/**
	 *Evento de clique para seleção de Veículo.
	 *Quando atributo Retorno tiver o valor de 1 o objeto VeículoBD é retornado para a Activity anterior.
	 *Quando atributo Retorno tiver o valor de 2 a Activity de veículos é iniciada com as informações do veículo selecionado.
	 */    
    public void onItemClick(AdapterView<?> arg0, View arg1, int arg2, long arg3) {  

    	
        VeiculosBD item = adapterListView.getItem(arg2);
        
		if(Tipo == 2){
			ClientPesquisar cp = new ClientPesquisar();
			item = cp.PesquisarVeiculo(item.getVCL_CODIGO());
		}
        
        if(item != null)        	
        	if(Retorna == 1){
       		
        		Intent retorno = new Intent();
        		retorno.putExtra("VeiculosBD", item);
        		setResult(Tipo, retorno);
        		finish();
        		
        	}else{
        	
        		Veiculo = new Intent(ListarVeiculos.this,TelaVeiculo.class);
        		Veiculo.putExtra("VeiculosBD", item);
        		Veiculo.putExtra("Tipo",Tipo);
        		ListarVeiculos.this.startActivity(Veiculo);   	        			
        		
        	}
        
    }
}

